﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ufida.u9.cust.dz.beplugin.TransferIn;

namespace ufida.u9.cust.dz.beplugin.JkySchema
{
    /// <summary>
    /// 创建入库单并入库
    /// </summary>
    public class JkyHead
    {
        public string inType { get; set; }//入库类型 （104：其他入库；110：残次品入库；101：采购入库；116：资产入库；105：销售退货；106：生产完工入库；113：退料入库；115：维修返厂返还；） 单据类型

        public string relDataId { get; set; }//调入单号 其他入库单号

        public string applyCompanyCode { get; set; }//调入组织名称 申请公司 

        public string applyDepartCode { get; set; }//调入部门名称 申请部门

        public string inWarehouseCode { get; set; }//仓库

        public string applyDate { get; set; } //申请日期 调入单据日期

        public string applyUserName { get; set; } //申请人名称 调入仓库库管员

        public string applyDepartName { get; set; } //库管员部门 申请人部门

        public string @operator { get; set; } //制单人

        public string source { get; set; } = "OPEN"; //单据来源

        public string auditDate { get; set; } //审核时间

        public string planInDate { get; set; } //计划入库日期

        public List<JkyLine> stockInDetailViews { get; set; } //入库明细

    }

    public class JkyLine
    {

        public string outSkuCode { get; set; } //匹配货品信息外部编号

        public int isCertified { get; set; } = 1;//是否正品

        public string relDetailId { get; set; } //关联实际业务明细表的id

        public decimal skuCount { get; set; } //入库数量

        public List<JkySerial> serialList { get; set; } //序列号列表

        public List<Batch> batchList { get; set; } //批次号列表
    }

    public class Batch
    {
        public string batchNo { get; set; } //批次号
        public decimal quantity { get; set; } //数量
        public string productionDate { get; set; }//生产日期
    }

    public class JkySerial
    {
        public string serialNo { get; set; } //序列号
    }
}
